/*
 * Create in 2013-4-20 上午11:54:06.
 */
package kit4j.app.notepad.module;

import kit4j.app.notepad.annotation.NamedConfig;
import kit4j.app.notepad.command.DefaultNotepadCommandExecutor;
import kit4j.app.notepad.command.NotepadCommandExecutor;
import kit4j.app.notepad.config.NotepadConfig;

import com.google.inject.AbstractModule;
import com.google.inject.Scopes;

/**
 * 
 * @author MiniKnife
 * 
 */
public class NotepadModule extends AbstractModule {
	
	/**
	 * @see com.google.inject.AbstractModule#configure()
	 */
	@Override
	protected void configure() {
		bind(String.class).annotatedWith(new NamedConfig("ConfigFilename")).toInstance("notepad.properties");
		bind(NotepadConfig.class).in(Scopes.SINGLETON);
		bind(NotepadCommandExecutor.class).to(DefaultNotepadCommandExecutor.class).in(Scopes.SINGLETON);
	}

}
